Field of the Invention
This invention relates to data processing systems.
In data processing systems, it is often possible for the execution of a program to be interrupted for various reasons, such as in the event of an error or some other form of immediate interrupt request. In such an event, when the program is resumed after servicing of the interrupt, it will usually be necessary to "roll back" the program, i.e. to restart it at some point prior to that at which it was interrupted. For example, if the interrupt occurred because of an error, the result of the last instruction to be executed might not be valid, and so it will be necessary to roll back the program to re-try at least that instruction.
An extreme form of such roll-back action would be to restart the whole program again from the beginning, but such action would clearly be inefficient. Another technique which has been used is that of "program checkpointing". In this technique, checkpoints are introduced into the program at spaced intervals and, at each checkpoint, all the information necessary to restart the program from that checkpoint is stored in a back-up store.
Another technique, which has been proposed is to provide a number of specially dedicated back-up registers into which the contents of various data registers are automatically gated at regular intervals. This information is thus preserved, and is automatically gated back into the data registers from the back-up registers in the event of a re-try.
One object of the invention is to provide a novel way of preserving information for use in possible roll-back operation, which avoids the necessity for transferring the information into back-up storage.